package com.fand.platform.authority.dao;

import java.util.List;
import java.util.Map;

import com.fand.dto.PaginationDto;
import com.fand.platform.authority.dto.RoleDto;
import com.fand.platform.authority.dto.RoleLoDto;
import com.fand.platform.authority.dto.RoleReOpAcDto;
import com.fand.platform.authority.dto.RoleReOpAcLoDto;

/**
 * 角色
 *
 * @author yaoHT
 * 
 */
public interface RoleDao {
	String BEAN_ID = "com.fand.platform.authority.dao.RoleDao";

	/**
	 * 插入:角色
	 * 
	 * @param insertRole
	 *            角色对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertRoleBy1(RoleDto insertRole, String... insertProperties);

	/**
	 * 插入:角色
	 * 
	 * @param insertRole
	 *            角色对象
	 * 
	 * @return 影响行数
	 */
	int insertRoleBy1_1(RoleDto insertRole);

	/**
	 * 插入:角色
	 * 
	 * @param insertRole
	 *            角色对象
	 * 
	 * @return 影响行数
	 */
	int insertRoleBy2(RoleDto insertRole);
	
	/**
	 * 删除:角色
	 * 
	 * @param deleteRole
	 *            角色对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteRoleBy1(RoleDto deleteRole, String... whereEqProperties);

	/**
	 * 删除:角色
	 * 
	 * @param deleteRole
	 *            角色对象
	 * 
	 * @return 影响行数
	 */
	int deleteRoleBy1_1(RoleDto deleteRole);
	
	/**
	 * 删除:角色
	 * 
	 * @param deleteRole
	 *            角色对象
	 * 
	 * @return 影响行数
	 */
	int deleteRoleByIds(RoleDto deleteRole);

	/**
	 * 更新:角色
	 * 
	 * @param updateRole
	 *            角色对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateRoleBy1(RoleDto updateRole, String[] updateProperties, String... whereEqProperties);

	/**
	 * 更新:角色
	 * 
	 * @param updateRole
	 *            角色对象
	 * 
	 * @return 影响行数
	 */
	int updateRoleBy1_1(RoleDto updateRole);
	
	/**
	 * 更新:角色
	 * 
	 * @param updateRole
	 *            角色对象
	 * 
	 * @return 影响行数
	 */
	int updateRoleBy2(RoleDto updateRole);

	/**
	 * 查询:角色
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRole
	 *            角色对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleBy1ForObject(Class<R> requiredType, RoleDto selectRole, String objectId, String... whereEqProperties);

	/**
	 * 查询:角色
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRole
	 *            角色对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleBy1_1ForObject(Class<R> requiredType, RoleDto selectRole, String objectId);
	
	/**
	 * 查询:角色
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRole
	 *            角色对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleBy2ForObject(Class<R> requiredType, RoleDto selectRole, String objectId);
	
	/**
	 * 查询:角色
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRole
	 *            角色对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 角色对象集合
	 */
	<R> List<R> selectRoleBy1ForObjectList(Class<R> requiredType, RoleDto selectRole, String objectId, String... whereEqProperties);

	/**
	 * 查询:角色
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRole
	 *            角色对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 角色对象集合
	 */
	<R> List<R> selectRoleBy1_1ForObjectList(Class<R> requiredType, RoleDto selectRole, String objectId);
	
	/**
	 * 查询:角色
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRole
	 *            角色对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 角色对象集合
	 */
	<R> List<R> selectRoleBy2ForObjectList(Class<R> requiredType, RoleDto selectRole, String objectId);

	/**
	 * 查询:角色
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRole
	 *            角色对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleBy1ForMappedObject(Class<R> mappedClass, RoleDto selectRole, String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:角色
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRole
	 *            角色对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleBy1_1ForMappedObject(Class<R> mappedClass, RoleDto selectRole);
	
	/**
	 * 查询:角色
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRole
	 *            角色对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleBy2ForMappedObject(Class<R> mappedClass, RoleDto selectRole);

	/**
	 * 查询:角色
	 * 
	 * @param selectRole
	 *            角色对象
	 * @return 返回数据
	 */
	int selectRoleByCodeNqIdForInteger(RoleDto selectRole);

	/**
	 * 查询:角色
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRole
	 *            角色对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 角色对象集合
	 */
	<R> List<R> selectRoleBy1ForMappedObjectList(Class<R> mappedClass, RoleDto selectRole, String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:角色
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRole
	 *            角色对象
	 * 
	 * @return 角色对象集合
	 */
	<R> List<R> selectRoleBy1_1ForMappedObjectList(Class<R> mappedClass, RoleDto selectRole);

	/**
	 * 查询:角色
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRole
	 *            角色对象
	 * 
	 * @return 角色对象集合
	 */
	<R> List<R> selectRoleBy2ForMappedObjectList(Class<R> mappedClass, RoleDto selectRole);
	
	/**
	 * 分页:角色
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param paginationRole
	 *            角色对象
	 * 
	 * @return 角色分页对象
	 */
	<R> PaginationDto<R> paginationRoleBy1ForMappedObjectList(final Class<R> mappedClass,
			RoleDto paginationRole);
			
	/**
	 * 分页
	 * 
	 * @param paginationRole
	 *            角色对象
	 * 
	 * @return 角色分页对象
	 */
	PaginationDto<Map<String, Object>> paginationRoleBy1ForMapList(RoleDto paginationRole);

	/**
	 * 插入:角色日志
	 * 
	 * @param insertRoleLo
	 *            角色日志对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertRoleLoBy1(RoleLoDto insertRoleLo, String... insertProperties);
	
	/**
	 * 删除:角色日志
	 * 
	 * @param deleteRoleLo
	 *            角色日志对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteRoleLoBy1(RoleLoDto deleteRoleLo, String... whereEqProperties);


	/**
	 * 更新:角色日志
	 * 
	 * @param updateRoleLo
	 *            角色日志对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateRoleLoBy1(RoleLoDto updateRoleLo, String[] updateProperties, String... whereEqProperties);


	/**
	 * 查询:角色日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRoleLo
	 *            角色日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleLoBy1ForObject(Class<R> requiredType, RoleLoDto selectRoleLo, String objectId, String... whereEqProperties);
	
	/**
	 * 查询:角色日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRoleLo
	 *            角色日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 角色日志对象集合
	 */
	<R> List<R> selectRoleLoBy1ForObjectList(Class<R> requiredType, RoleLoDto selectRoleLo, String objectId, String... whereEqProperties);


	/**
	 * 查询:角色日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRoleLo
	 *            角色日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleLoBy1ForMappedObject(Class<R> mappedClass, RoleLoDto selectRoleLo, String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:角色日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRoleLo
	 *            角色日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 角色日志对象集合
	 */
	<R> List<R> selectRoleLoBy1ForMappedObjectList(Class<R> mappedClass, RoleLoDto selectRoleLo, String[] selectProperties, String... whereEqProperties);

	/**
	 * 插入:角色、资源与操作动作
	 * 
	 * @param insertRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertRoleReOpAcBy1(RoleReOpAcDto insertRoleReOpAc, String... insertProperties);

	/**
	 * 插入:角色、资源与操作动作
	 * 
	 * @param insertRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @return 影响行数
	 */
	int insertRoleReOpAcBy1_1(RoleReOpAcDto insertRoleReOpAc);

	/**
	 * 插入:角色、资源与操作动作
	 * 
	 * @param insertRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @return 影响行数
	 */
	int insertRoleReOpAcBy2(RoleReOpAcDto insertRoleReOpAc);
	
	/**
	 * 删除:角色、资源与操作动作
	 * 
	 * @param deleteRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteRoleReOpAcBy1(RoleReOpAcDto deleteRoleReOpAc, String... whereEqProperties);

	/**
	 * 删除:角色、资源与操作动作
	 * 
	 * @param deleteRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @return 影响行数
	 */
	int deleteRoleReOpAcBy1_1(RoleReOpAcDto deleteRoleReOpAc);
	
	/**
	 * 删除:角色、资源与操作动作
	 * 
	 * @param deleteRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @return 影响行数
	 */
	int deleteRoleReOpAcByIds(RoleReOpAcDto deleteRoleReOpAc);

	/**
	 * 更新:角色、资源与操作动作
	 * 
	 * @param updateRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateRoleReOpAcBy1(RoleReOpAcDto updateRoleReOpAc, String[] updateProperties, String... whereEqProperties);

	/**
	 * 更新:角色、资源与操作动作
	 * 
	 * @param updateRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @return 影响行数
	 */
	int updateRoleReOpAcBy1_1(RoleReOpAcDto updateRoleReOpAc);
	
	/**
	 * 更新:角色、资源与操作动作
	 * 
	 * @param updateRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @return 影响行数
	 */
	int updateRoleReOpAcBy2(RoleReOpAcDto updateRoleReOpAc);

	/**
	 * 查询:角色、资源与操作动作
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleReOpAcBy1ForObject(Class<R> requiredType, RoleReOpAcDto selectRoleReOpAc, String objectId, String... whereEqProperties);

	/**
	 * 查询:角色、资源与操作动作
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleReOpAcBy1_1ForObject(Class<R> requiredType, RoleReOpAcDto selectRoleReOpAc, String objectId);
	
	/**
	 * 查询:角色、资源与操作动作
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleReOpAcBy2ForObject(Class<R> requiredType, RoleReOpAcDto selectRoleReOpAc, String objectId);
	
	/**
	 * 查询:角色、资源与操作动作
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 角色、资源与操作动作对象集合
	 */
	<R> List<R> selectRoleReOpAcBy1ForObjectList(Class<R> requiredType, RoleReOpAcDto selectRoleReOpAc, String objectId, String... whereEqProperties);

	/**
	 * 查询:角色、资源与操作动作
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 角色、资源与操作动作对象集合
	 */
	<R> List<R> selectRoleReOpAcBy1_1ForObjectList(Class<R> requiredType, RoleReOpAcDto selectRoleReOpAc, String objectId);
	
	/**
	 * 查询:角色、资源与操作动作
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 角色、资源与操作动作对象集合
	 */
	<R> List<R> selectRoleReOpAcBy2ForObjectList(Class<R> requiredType, RoleReOpAcDto selectRoleReOpAc, String objectId);

	/**
	 * 查询:角色、资源与操作动作
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleReOpAcBy1ForMappedObject(Class<R> mappedClass, RoleReOpAcDto selectRoleReOpAc, String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:角色、资源与操作动作
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleReOpAcBy1_1ForMappedObject(Class<R> mappedClass, RoleReOpAcDto selectRoleReOpAc);
	
	/**
	 * 查询:角色、资源与操作动作
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleReOpAcBy2ForMappedObject(Class<R> mappedClass, RoleReOpAcDto selectRoleReOpAc);

	/**
	 * 查询:角色、资源与操作动作
	 * 
	 * @param selectRoleReOpAc
	 *            角色、资源与操作动作对象
	 * @return 返回数据
	 */
	int selectRoleReOpAcByCodeNqIdForInteger(RoleReOpAcDto selectRoleReOpAc);

	/**
	 * 查询:角色、资源与操作动作
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 角色、资源与操作动作对象集合
	 */
	<R> List<R> selectRoleReOpAcBy1ForMappedObjectList(Class<R> mappedClass, RoleReOpAcDto selectRoleReOpAc, String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:角色、资源与操作动作
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @return 角色、资源与操作动作对象集合
	 */
	<R> List<R> selectRoleReOpAcBy1_1ForMappedObjectList(Class<R> mappedClass, RoleReOpAcDto selectRoleReOpAc);

	/**
	 * 查询:角色、资源与操作动作
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @return 角色、资源与操作动作对象集合
	 */
	<R> List<R> selectRoleReOpAcBy2ForMappedObjectList(Class<R> mappedClass, RoleReOpAcDto selectRoleReOpAc);
	
	/**
	 * 分页:角色、资源与操作动作
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param paginationRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @return 角色、资源与操作动作分页对象
	 */
	<R> PaginationDto<R> paginationRoleReOpAcBy1ForMappedObjectList(final Class<R> mappedClass,
			RoleReOpAcDto paginationRoleReOpAc);
			
	/**
	 * 分页
	 * 
	 * @param paginationRoleReOpAc
	 *            角色、资源与操作动作对象
	 * 
	 * @return 角色、资源与操作动作分页对象
	 */
	PaginationDto<Map<String, Object>> paginationRoleReOpAcBy1ForMapList(RoleReOpAcDto paginationRoleReOpAc);

	/**
	 * 插入:角色、资源与操作动作日志
	 * 
	 * @param insertRoleReOpAcLo
	 *            角色、资源与操作动作日志对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertRoleReOpAcLoBy1(RoleReOpAcLoDto insertRoleReOpAcLo, String... insertProperties);
	
	/**
	 * 删除:角色、资源与操作动作日志
	 * 
	 * @param deleteRoleReOpAcLo
	 *            角色、资源与操作动作日志对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteRoleReOpAcLoBy1(RoleReOpAcLoDto deleteRoleReOpAcLo, String... whereEqProperties);


	/**
	 * 更新:角色、资源与操作动作日志
	 * 
	 * @param updateRoleReOpAcLo
	 *            角色、资源与操作动作日志对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateRoleReOpAcLoBy1(RoleReOpAcLoDto updateRoleReOpAcLo, String[] updateProperties, String... whereEqProperties);


	/**
	 * 查询:角色、资源与操作动作日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRoleReOpAcLo
	 *            角色、资源与操作动作日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleReOpAcLoBy1ForObject(Class<R> requiredType, RoleReOpAcLoDto selectRoleReOpAcLo, String objectId, String... whereEqProperties);
	
	/**
	 * 查询:角色、资源与操作动作日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectRoleReOpAcLo
	 *            角色、资源与操作动作日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 角色、资源与操作动作日志对象集合
	 */
	<R> List<R> selectRoleReOpAcLoBy1ForObjectList(Class<R> requiredType, RoleReOpAcLoDto selectRoleReOpAcLo, String objectId, String... whereEqProperties);


	/**
	 * 查询:角色、资源与操作动作日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRoleReOpAcLo
	 *            角色、资源与操作动作日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectRoleReOpAcLoBy1ForMappedObject(Class<R> mappedClass, RoleReOpAcLoDto selectRoleReOpAcLo, String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:角色、资源与操作动作日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectRoleReOpAcLo
	 *            角色、资源与操作动作日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 角色、资源与操作动作日志对象集合
	 */
	<R> List<R> selectRoleReOpAcLoBy1ForMappedObjectList(Class<R> mappedClass, RoleReOpAcLoDto selectRoleReOpAcLo, String[] selectProperties, String... whereEqProperties);
}